2
תגובות
אני מעוניין שלניימספייס אחד שאני יוצר יכנסו כמה וכמה מחלקות אך אני לא רוצה לכתוב את כל המחלקות באותו קובץ, אם אני אצור את המחלקות בקבצים נפרדים ואז אצור קובץ שיוצר את הניימספייס ועושה require לקבצים המכילים את המחלקות, המחלקות יכללו בתוך הניימספייס?
2 תשובות
ניסיתי לעשות את זה אונלין עכשיו וזה לא עבד
כל מה שכללתי בInclude פשוט לא קיבל את הnamespace הזה שזה מוזר.
הצהרת מרחב שמות לא חלה על קבצים מיובאים, אלא רק על הקובץ שבו היא נכתבה. אם לא תצהיר על מרחב שמות בקובץ כלשהו, הוא יהיה במרחב השמות הגלובלי, גם אם תייבא אותו לקובץ אחר.
PROJECT_PATH/some/nested/namespace/ClassA.php
namespace some\nested\namespace;
class ClassA { ... }
class ClassA { ... }
PROJECT_PATH/some/nested/namespace/ClassB.php
namespace some\nested\namespace;
class ClassB { ... }
class ClassB { ... }
PROJECT_PATH/some/nested/namespace/AnotherClass.php
namespace some\nested\namespace;
// `use` ClassA & ClassB and use auto loading or import them directly using include() or require().
// They will stay in the namespace declared in their own file (the global one if not declared),
// which happens to be the same as in this file.
class AnotherClass { ... }
// `use` ClassA & ClassB and use auto loading or import them directly using include() or require().
// They will stay in the namespace declared in their own file (the global one if not declared),
// which happens to be the same as in this file.
class AnotherClass { ... }
PROJECT_PATH/some/other/nested/namespace/AnotherClass.php
namespace some\other\nested\namespace;
// `use` ClassA & ClassB and use auto loading or import them directly using include() or require()
// They will stay in the namespace declared in their own file (the global one if not declared).
class AnotherClass { ... }
// `use` ClassA & ClassB and use auto loading or import them directly using include() or require()
// They will stay in the namespace declared in their own file (the global one if not declared).
class AnotherClass { ... }